﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static ConsoleApp8.Student;

namespace ConsoleApp8
{
    class Program
    {
//        添加3个类，分别实现 IComparer<T>接口，实现对Student类的三个字段的排序。
//1、学生类：学号、姓名、年龄
//2、请选择：1、添加学生信息。2、查询学生信息。
//3、重复的学号不能添加。
//4、查询学生信息功能中有：1、查询所有（按学号排序）2、查询所有（按姓名排序），2、查询所有（按年龄排序）4、按学号查询（查没有，则打印查无此学生）5、退出



        static void Main(string[] args)
        {
            Student stu1 = new Student("杨梦林",40,20);
            Student stu2 = new Student("海彪", 4, 10);
            Student stu3 = new Student("江滨", 41, 29);

            List<Student> list = new List<Student>() { stu1, stu2, stu3 };

            Console.WriteLine("排序前顺序为");
            foreach (Student stu in list)
            {
                Console.WriteLine(stu.Name+" "+stu.Id+" "+stu.Age.ToString());

            }
            Console.WriteLine("======================================================================================");
            Console.WriteLine("请输入:1、查询所有（按学号排序）2、查询所有（按姓名排序），3、查询所有（按年龄排序）");
            string select = Console.ReadLine();

            switch(select)
            {
                case "1":
                    list.Sort(new IdSort());
                    break;

                case "2":
                    list.Sort(new NameSort());
                    break;

                case "3":
                    list.Sort(new AgeSort());
                    break;
            }
            Console.WriteLine("======================================================================================");
            Console.WriteLine("排序后顺序为");
            foreach (Student stu in list)
            {
                Console.WriteLine(stu.Name + " " + stu.Id + " " + stu.Age.ToString());

            }
            Console.ReadKey();
        }
    }
}
